{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "designed-qatar",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.animation as animation\n",
    "from matplotlib import style\n",
    "from matplotlib import animation, rc\n",
    "from IPython.display import HTML, Image\n",
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "# plot settings\n",
    "rc('animation', html='html5')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "automated-moses",
   "metadata": {},
   "source": [
    "| Problem | TaskNum | m | n  | K | L  | F       | H          | Lanscape         |\n",
    "| ------- | ------- | - | -- | - | -- | ------- | ---------- | ---------------- |\n",
    "| ETMOF25 | 5       | 2 | 50 | 1 | 49 | F3 - F7 | H1         | L(rotation)      |\n",
    "| ETMOF26 | 10      | 2 | 50 | 1 | 49 | F2, F3  | H1 - H3    | L(rotation)      |\n",
    "| ETMOF27 | 10      | 3 | 50 | 7 | 43 | F6, F7  | H3         | b(Lg)            |\n",
    "| ETMOF28 | 20      | 3 | 51 | 2 | 49 | F2, F3  | H3, H5, H7 | b(rotation)      |\n",
    "| ERMOF29 | 30      | 3 | 51 | 2 | 49 | F1      | H4, H6     | b(shiftRotation) |\n",
    "| ETMOF30 | 40      | 2 | 50 | 1 | 49 | F1      | H1         | b(shiftRotation) |\n",
    "| ETMOF31 | 50      | 2 | 50 | 1 | 49 | F3      | H2         | L(rotation)      |\n",
    "| ETMOF32 | 28      | 3 | 80 | 7 | 73 | F6      | H5         | b(Lg1)           |"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "confident-diploma",
   "metadata": {},
   "outputs": [],
   "source": [
    "problemset_profiles = {\n",
    "    'ETMOF25': {'TaskNum': 5,\n",
    "                'M': 2,\n",
    "                'N': 50,\n",
    "                'H': [1] * 5,\n",
    "                'No': 25,},\n",
    "    \n",
    "    'ETMOF26': {'TaskNum': 10,\n",
    "                'M': 2,\n",
    "                'N': 50,\n",
    "                'H': [i%3+1 for i in range(10)],\n",
    "                'No': 26,},\n",
    "    \n",
    "    'ETMOF27': {'TaskNum': 10,\n",
    "                'M': 3,\n",
    "                'N': 50,\n",
    "                'H': [3] * 10,\n",
    "                'No': 27,},\n",
    "    \n",
    "    'ETMOF28': {'TaskNum': 20,\n",
    "                'M': 3,\n",
    "                'N': 51,\n",
    "                'H': [1+2*(i%3+1) for i in range(20)],\n",
    "                'No': 28,},\n",
    "    \n",
    "    'ETMOF29': {'TaskNum': 30,\n",
    "                'M': 3,\n",
    "                'N': 51,\n",
    "                'H': [2*(2+i%2) for i in range(30)],\n",
    "                'No': 29,},\n",
    "    \n",
    "    'ETMOF30': {'TaskNum': 40,\n",
    "                'M': 2,\n",
    "                'N': 50,\n",
    "                'H': [1] * 40,\n",
    "                'No': 30,},\n",
    "    \n",
    "    'ETMOF31': {'TaskNum': 50,\n",
    "                'M': 2,\n",
    "                'N': 50,\n",
    "                'H': [2] * 50,\n",
    "                'No': 31,},\n",
    "    \n",
    "    'ETMOF32': {'TaskNum': 28,\n",
    "                'M': 3,\n",
    "                'N': 80,\n",
    "                'H': [5] * 28,\n",
    "                'No': 32,},\n",
    "}\n",
    "\n",
    "problem_list = ['ETMOF'+str(i) for i in range(25, 33)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "technological-meter",
   "metadata": {},
   "outputs": [],
   "source": [
    "ALGOS = ['MaTDE', 'MOMFEA', 'MOEAD', 'MaOEAC', 'NSGAII', 'MaTMY', 'MOMFEAII', 'MaTMY2', 'MaTBML']\n",
    "MULTITASK = ['MaTDE', 'MOMFEA', 'EMTET', 'MaTMY', 'MOMFEAII', 'MaTMY2', 'MaTBML']\n",
    "\n",
    "PF_TYPES = [\n",
    "    'convex',           # 1\n",
    "    'concave',          # 2\n",
    "    'lineoid',          # 3\n",
    "    'inverted_lineoid', # 4\n",
    "    'sphere',           # 5\n",
    "    'inverted_sphere',  # 6\n",
    "    'convex',           # 7\n",
    "    'degenerate',       # 8\n",
    "    'irconcave',        # 9\n",
    "    'disconnected',     # 10\n",
    "    'circle'            # F18, F19, F20\n",
    "           ]\n",
    "\n",
    "def pf_gif(algo_idx, problem_profile, task_no, output=False):\n",
    "    ALGO = ALGOS[algo_idx]\n",
    "    NO_PROBLEM = problem_profile['No']\n",
    "    TASK_NUM = problem_profile['TaskNum']\n",
    "    OBJECTIVE = problem_profile['M']\n",
    "    VARIABLES = problem_profile['N']\n",
    "\n",
    "    TASK = task_no\n",
    "    H = problem_profile['H'][task_no-1]\n",
    "\n",
    "    POP_SIZE = 100\n",
    "    POP_SIZE = POP_SIZE * TASK_NUM if ALGO in MULTITASK else POP_SIZE\n",
    "    FINAL = POP_SIZE * 1000\n",
    "\n",
    "    BASE_PATH = 'data//{0}//{0}_{1}Obj_ETMOF{2}_{3}_{4}D{5}.txt'\n",
    "    PF_PATH = 'PF//StaticPF//{}_{}D.pf'\n",
    "\n",
    "    # pfs = np.loadtxt(BASE_PATH.format(ALGO, OBJECTIVE, NO_PROBLEM, TASK, VARIABLES, POP_SIZE), dtype=np.float64)\n",
    "    true_pf = np.loadtxt(PF_PATH.format(PF_TYPES[H-1], OBJECTIVE))\n",
    "\n",
    "    if OBJECTIVE == 2:\n",
    "        def update_points(i):\n",
    "            step = POP_SIZE * 20\n",
    "            pfs = np.loadtxt(BASE_PATH.format(ALGO, OBJECTIVE, NO_PROBLEM, TASK, VARIABLES, i * step))\n",
    "            point_ani.set_offsets(pfs)\n",
    "            text_pt.set_text(\"{}  ETMOF{}-T{}: evaluation={}\".format(ALGO, NO_PROBLEM, TASK, i * step))\n",
    "\n",
    "            x_upper = max(np.max(pfs[:,0]) * 1.5, 5)\n",
    "    #         x_lower = np.min(true_pf[:,0]) * 0.9\n",
    "            y_upper = max(np.max(pfs[:,1]) * 1.5, 5)\n",
    "    #         y_lower = np.min(true_pf[:,1]) * 0.9\n",
    "            fig.gca().set_xlim([0, x_upper])\n",
    "            fig.gca().set_ylim([0, y_upper])\n",
    "\n",
    "            return point_ani, text_pt\n",
    "\n",
    "\n",
    "        def init():\n",
    "            try:\n",
    "                point_ani.set_offsets(np.loadtxt(BASE_PATH.format(ALGO, OBJECTIVE, NO_PROBLEM, TASK, VARIABLES, POP_SIZE), dtype=np.float64))\n",
    "            except:\n",
    "                point_ani.set_offsets(np.loadtxt(BASE_PATH.format(ALGO, OBJECTIVE, NO_PROBLEM, TASK, VARIABLES, 2000), dtype=np.float64))\n",
    "            text_pt.set_text(\"{}  ETMOF{}-T{}: evaluation={}\".format(ALGO, NO_PROBLEM, TASK, 0))\n",
    "\n",
    "            return point_ani, text_pt\n",
    "\n",
    "\n",
    "        fig = plt.figure(tight_layout=True)\n",
    "        plt.scatter(true_pf[:,0], true_pf[:,1], s=50, c='#0000FF')\n",
    "\n",
    "        point_ani = plt.scatter([], [], s=5, c='#FF0000')\n",
    "        # text_pt = plt.text(0.8, 0.8, '', fontsize=16)\n",
    "        text_pt = plt.title('')\n",
    "        plt.grid(ls='--')\n",
    "\n",
    "\n",
    "\n",
    "    elif OBJECTIVE == 3:\n",
    "        def update_points(i):\n",
    "            step = POP_SIZE * 20\n",
    "\n",
    "            pfs = np.loadtxt(BASE_PATH.format(ALGO, OBJECTIVE, NO_PROBLEM, TASK, VARIABLES, i * step))\n",
    "            point_ani._offsets3d = (pfs[:,0], pfs[:,1], pfs[:,2])\n",
    "            text_pt.set_text(\"{}  ETMOF{}-T{}: evaluation={}\".format(ALGO, NO_PROBLEM, TASK, i * step))\n",
    "\n",
    "            x_upper = max(np.max(pfs[:,0]) * 1.5, 10)\n",
    "    #         x_lower = np.min(true_pf[:,0]) * 0.9\n",
    "            y_upper = max(np.max(pfs[:,1]) * 1.5, 10)\n",
    "    #         y_lower = np.min(true_pf[:,1]) * 0.9\n",
    "            z_upper = max(np.max(pfs[:,2]) * 1.5, 10)\n",
    "    #         z_lower = np.min(true_pf[:,2]) * 0.9\n",
    "            fig.gca().set_xlim([0, x_upper])\n",
    "            fig.gca().set_ylim([0, y_upper])\n",
    "            fig.gca().set_zlim([0, z_upper])\n",
    "\n",
    "            return point_ani, text_pt\n",
    "\n",
    "\n",
    "        def init():\n",
    "            try:\n",
    "                pfs = np.loadtxt(BASE_PATH.format(ALGO, OBJECTIVE, NO_PROBLEM, TASK, VARIABLES, POP_SIZE), dtype=np.float64)\n",
    "            except:\n",
    "                pfs = np.loadtxt(BASE_PATH.format(ALGO, OBJECTIVE, NO_PROBLEM, TASK, VARIABLES, 2000), dtype=np.float64)\n",
    "            point_ani._offsets3d = (pfs[:,0], pfs[:,1], pfs[:,2])\n",
    "            text_pt.set_text(\"{}  ETMOF{}-T{}: evaluation={}\".format(ALGO, NO_PROBLEM, TASK, 0))\n",
    "            return point_ani, text_pt\n",
    "\n",
    "        fig = plt.figure()\n",
    "        ax = plt.axes(projection='3d')\n",
    "        ax.scatter3D(true_pf[:,0], true_pf[:,1], true_pf[:,2], s=50, c='#0000FF')\n",
    "\n",
    "        point_ani = ax.scatter([], [], [], c='#FF0000')\n",
    "        text_pt = plt.title('')\n",
    "        plt.grid(ls='--')\n",
    "\n",
    "    ani = animation.FuncAnimation(fig, update_points, np.arange(1, 50), init_func=init, interval=200, repeat=False)\n",
    "    if output:\n",
    "        import os\n",
    "        folder = 'gifs'\n",
    "        file = '{}_ETMOF{}_T{}_O{}.gif'.format(ALGO, NO_PROBLEM, TASK, OBJECTIVE)\n",
    "        if not os.path.exists(folder):\n",
    "            os.mkdir(folder)\n",
    "        ani.save(folder + '//' + file)\n",
    "    return ani\n",
    "\n",
    "\n",
    "# final PF\n",
    "def pf_final(algo_idx, problem_profile, task_no, output=False):\n",
    "    ALGO = ALGOS[algo_idx]\n",
    "    NO_PROBLEM = problem_profile['No']\n",
    "    TASK_NUM = problem_profile['TaskNum']\n",
    "    OBJECTIVE = problem_profile['M']\n",
    "    VARIABLES = problem_profile['N']\n",
    "\n",
    "    MAX_EVAL = 100 * TASK_NUM * 1000\n",
    "    TASK = task_no\n",
    "    H = problem_profile['H'][task_no-1]\n",
    "    BASE_PATH = 'data//{0}_{1}Obj_ETMOF{2}_{3}_{4}D_run_{5}.txt'\n",
    "    PF_PATH = 'PF//StaticPF//{}_{}D.pf'\n",
    "    pfs = np.loadtxt(BASE_PATH.format(ALGO, OBJECTIVE, NO_PROBLEM, TASK, VARIABLES, 0), dtype=np.float64)\n",
    "    true_pf = np.loadtxt(PF_PATH.format(PF_TYPES[H-1], OBJECTIVE))\n",
    "\n",
    "    if OBJECTIVE == 2:\n",
    "        plt.scatter(pfs[:,0], pfs[:,1], c='#FF0000')\n",
    "        plt.scatter(true_pf[:,0], true_pf[:,1], c='#0000FF')\n",
    "    elif OBJECTIVE == 3:\n",
    "        fig = plt.figure()\n",
    "        ax = plt.axes(projection='3d')\n",
    "        ax.scatter(pfs[:,0], pfs[:,1], pfs[:,2], c='#FF0000')\n",
    "        ax.scatter(true_pf[:,0], true_pf[:,1], true_pf[:,2], s=5, c='#0000FF')\n",
    "        fig.gca().set_xlim([0, max(np.max(pfs[:,0]), np.max(true_pf[:,0]))])\n",
    "        fig.gca().set_ylim([0, max(np.max(pfs[:,1]), np.max(true_pf[:,1]))])\n",
    "        fig.gca().set_zlim([0, max(np.max(pfs[:,2]), np.max(true_pf[:,2]))])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "offshore-rachel",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 0: 'MaTDE', \n",
    "# 1: 'MOMFEA'\n",
    "# 2: 'MOEAD'\n",
    "# 3: 'MaOEAC'\n",
    "# 4: 'NSGAII'\n",
    "# 5: 'MaTMY'\n",
    "# 6: 'MOMFEAII'\n",
    "# 7: 'MaT_MOEAD'\n",
    "# 8: 'MaTBML'\n",
    "for problem in [25]:\n",
    "    problem = 'ETMOF' + str(problem)\n",
    "    for algo in [8]:\n",
    "        for task in range(1,100):\n",
    "            if task > problemset_profiles[problem]['TaskNum']:\n",
    "                break\n",
    "#             try:\n",
    "            pf_gif(algo, problemset_profiles[problem], task, True)\n",
    "#             except OSError:\n",
    "#                 print('file not found!')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "seeing-grain",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for problem in [25]:\n",
    "    problem = 'ETMOF' + str(problem)\n",
    "    for algo in [7]:\n",
    "        for task in [1]:\n",
    "            if task > problemset_profiles[problem]['TaskNum']:\n",
    "                break\n",
    "            pf_final(algo, problemset_profiles[problem], task, True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "opening-employer",
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "scatter() missing 1 required positional argument: 'y'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-17-675560b1fb16>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      5\u001b[0m \u001b[1;31m# print(files)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      6\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 7\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mscatter\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mloadtxt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbase_path\u001b[0m \u001b[1;33m+\u001b[0m\u001b[1;34m'\\\\'\u001b[0m\u001b[1;33m+\u001b[0m \u001b[0mfiles\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m: scatter() missing 1 required positional argument: 'y'"
     ]
    }
   ],
   "source": [
    "from os import listdir\n",
    "from os.path import isfile, join\n",
    "base_path = 'D:\\_r\\EA\\ETMO\\MTO-cec2021-\\data\\MaTMY2_Transfer'\n",
    "files = [f for f in listdir(base_path) if isfile(join(base_path, f))]\n",
    "# print(files)\n",
    "\n",
    "plt.scatter(np.loadtxt(base_path +'\\\\'+ files[0]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "indonesian-record",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
